import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'
import { composeWithDevTools } from 'redux-devtools-extension'
import rootReducer from './reducers'
import { getToken } from '@/utils/storage'

// 在创建仓库时，除了可以指定 reducer 也可以直接指定整个状态树 (数据)
export const store = createStore(
  // 参数1：指定 reducer
  rootReducer,
  // 参数2：(可选参数) 整个 store 的初始状态树 (数据初始值)
  { login: { token: getToken() } },
  // 参数3：(中间件)
  composeWithDevTools(applyMiddleware(thunk))
)